bitkeeper revision 1.1159.217.11 (41e53201qUtmmtHeC4YDtVEOdzLYFQ)
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>
Wed, 12 Jan 2005 14:19:45 +0000 (14:19 +0000)
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>
Wed, 12 Jan 2005 14:19:45 +0000 (14:19 +0000)
manual merge

1  2 
xen/arch/x86/traps.c
xen/arch/x86/x86_32/seg_fixup.c
xen/include/asm-x86/mm.h

index 61f8b8b90aa03962249ffdf4ee99bba3d9e1f466,2bdb160373a19b14980db7e3935642aef61705b9..c1cb9964240afe2a3efbe5263a032e5a6aa1d80d
@@@ -383,13 -382,13 +383,13 @@@ asmlinkage void do_machine_check(struc
      fatal_trap(TRAP_machine_check, regs);
  }
  
static inline void propagate_page_fault(unsigned long addr, u16 error_code)
+ void propagate_page_fault(unsigned long addr, u16 error_code)
  {
      trap_info_t *ti;
 -    struct domain *d = current;
 -    struct trap_bounce *tb = &d->thread.trap_bounce;
 +    struct exec_domain *ed = current;
 +    struct trap_bounce *tb = &ed->thread.trap_bounce;
  
 -    ti = d->thread.traps + 14;
 +    ti = ed->thread.traps + 14;
      tb->flags = TBF_EXCEPTION | TBF_EXCEPTION_ERRCODE | TBF_EXCEPTION_CR2;
      tb->cr2        = addr;
      tb->error_code = error_code;
index 670459708244e48ef6b7eafbc16745438dd6fc8f,9009971d267e21f6b72e70f2b12992999852c14d..561c1505a0f834b8c5cd48a1da8142a6cd7be86c
@@@ -475,10 -484,10 +484,10 @@@ int gpf_emulate_4gb(struct xen_regs *re
          tb->cs         = ti->cs;
          tb->eip        = ti->address;
          if ( TI_GET_IF(ti) )
 -            d->shared_info->vcpu_data[0].evtchn_upcall_mask = 1;
 +            d->vcpu_info->evtchn_upcall_mask = 1;
      }
  
-     return 1;
+     return EXCRET_fault_fixed;
  
   fixme:
      DPRINTK("Undecodable instruction %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x "
Simple merge